package com.lu.pojo.log;

import java.io.IOException;
import java.util.logging.*;

/**
 * @author luzhenfang
 * @date 2020 07 07
 * @description 日志
 *  - 级别
 *      - SERVEr
 *      - WARING
 *      - INFO
 *      - CONFIG
 *      - FINE
 *      - FINER
 *      - FINEST
 *      - ALL
 */
public class TestLogger {
    public static final Logger logger = Logger.getLogger("com.lu.pojo.log");
    public static void main(String[] args) throws IOException {
        // logger.setLevel(Level.OFF); // 日志控制
        // 绑定到文件 并指定格式
        FileHandler fileHandler = new FileHandler("logger.log");
        fileHandler.setFormatter(new Formatter() {
            @Override
            public String format(LogRecord record) {
                return record.getLevel()+":"+record.getMessage()+"\n";
            }
        });


        logger.addHandler(fileHandler);

        logger.setLevel(Level.ALL);
        logger.info("这是一个信息");
        logger.fine("I'm ok");
        logger.warning("这是一个警告");

        // 也可以用全局日志记录器
        Logger.getGlobal().info("全局日志");
        // 但是为了性能保障 建议将 logger 持久化起来

        // 抛出日志异常
        logger.throwing("com.lu.pojo.log.TestLogger","main",new Exception("test logger exception"));
        logger.log(Level.WARNING,"test",new Exception("test"));
    }
}
